const paginationBev = Behavior({
  data: {
    dataArray: [],
    total: null,   // 每次搜索都会返回结果的总条数。保存起来。
    noneReault: false,
    loading: false,   // 判断是否处于向服务器发请求的状态，如果是，则锁住页面，避免发起多次重复的请求。
  },
  methods: {
    // 将新的书籍列表与原本的书籍列表合并
    setMoreData(dataArray) {
      const tempArray = this.data.dataArray.concat(dataArray);
      this.setData({dataArray:tempArray});
    },

    // 获取当前书籍列表的长度
    getCurrentStart() {
      return this.data.dataArray.length;
    },
    setTotal(total) {
      this.data.total = total;
      let noneReault = total==0 ? true : false;
      this.setData({noneReault, total});
    },

    // 这种类型的书籍是否还有更多书籍
    hasMore() {
      if (this.data.dataArray.length >= this.data.total) return false;
      return true;
    },

    // 每次搜索时，将上次搜素的结果清空
    initialize() {
      this.setData({loading:false, dataArray:[], total:null, noneReault:false});
    },
    // 判断锁的状态
    isLocked() {
      return this.data.loading ? true : false;
    },
    // 加锁
    locked() {
      this.setData({loading:true});
    },
    // 解锁
    unLocked() {
      this.setData({loading:false});
    },
  }
})
export default paginationBev;